home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-27 | 75.3 KB | 1,958 lines |
- NOS FAQ draft 15-Dec-92
-
- [This is a draft -- forgive ugliness, and help repair it!]
-
- This paper discusses the TCP/IP implementation known as NOS,
- originated by Phil Karn and developed by many others. It tries not to
- duplicate material that is available elsewhere, but refers instead to
- existing documentation. If you have never seen NOS before, you might
- want to scan this document quickly, and then go read the "Introduction
- to NOS" file by John Ackermann or the "Beginner's Guide to TCP/IP"
- (both described later).
-
- If you maintain or use a NOS variant, please check its description
- here in this paper. If it's wrong, or if there isn't one, please tell
- the maintainer. Other additions and corrections are also welcome.
-
- This document is maintained by mg@bds.com, as of December 1992.
-
- ----------------------------------------------------------------------
- Repositories
-
- The best place to get NOS is from someone you know who is already
- using it.
-
- You can get it over the Internet from several anonymous FTP sites.
- The best-known site is ucsd.edu.
-
- ucsd.edu:/hamradio/packet/tcpip
-
- grivel.une.edu.au (Australian mirror of ucsd.edu)
-
- [ ucsd needs a README with one-liners for each directory ]
-
- It is also found on many telephone BBS systems, including:
-
- N8EMR's Ham BBS (614) 895-2553
- ChowdaNet (401) 331-0334 V.32 (Fidonet 1:323/120)
- ChowdaNet (401) 331-0907 V.32bis
- The Antenna Farm (512) 444-1052 V.32bis N81
-
- WB3FFV (301) ?
- Gracilis BBS ?
- AMNET BBS +61-3-366-7055 (Australia)
-
- N1BEE distributes a cleaned-up version of the GRI code. The
- primary distribution point is ChowdaNet. This seems to be
- one of the more stable and solid end-user releases, though the
- last version is nearly a year old now.
-
-
- Documentation
-
- Unfortanately, NOS is poorly documented compared to many other
- programs. This is not due to a lack of effort by the developers.
- It is because there are so many versions of NOS, being
- developed by many people who have no regular contact, and each
- version changes very frequently. Any documentation quickly
- becomes out of date.
-
- For some features, there is no documentation at all. Other
- features that are documented aren't present in all executables,
- even those produced by the same source, because that feature may
- have been turned off in the executable you are using.
-
- Thus, it is likely that the documentation you can find won't
- exactly match the program you are using, and you will have to
- refer to a full "base" manual and to another document that
- describes the differences from the base version.
-
-
- intronos.zip This is the best introduction to NOS for people
- who understand something about packet radio.
-
- userman.zip A complete user manual for the last pre-NOS version
- of NET... 890421.1
-
- nos_1229.man A complete user manual for PA0GRI NOS.
-
- help_v02.zip mailbox help files (for ka9q 901130)
-
- The several volumes of the ARRL Computer Networking Conference (CNC)
- Proceedings contain many papers on TCP/IP and NOS. These are
- available from ARRL Headquarters in Newington, CT.
-
- Send mail to info@arrl.org for an automatic response pointing at
- more information about the ARRL.
-
- Particularly useful CNC articles are listed in the bibliography
- at the end of this document.
-
- Some of these papers are available online in the directory
- ucsd.edu:/hamradio/packet/tcpip/docs.
-
- Other papers are also available on ucsd.edu:
-
- ka9qnos.ps.Z
- netnix-paper.ps.Z
- connex.Z
- 1987 Directory of papers from CNC 1987
- 1988 Ditto 1988
-
- There is no document dedicated to describing the internals of NOS.
- There is a section of the user manual that describes some of the
- socket library calls. Look in the section on NOS Internals here
- in this document.
-
- John Ackermann, AG9V <John.Ackermann@DaytonOH.NCR.COM> offers:
-
- I hesitate to make the offer, but on a time-permits basis I
- can provide a hard-copy set of my doc, the PA0GRI ref manual,
- the Rutgers tcp/ip intro, and a disk with N1BEE's GRINOS for
- the cost of copying and mailing -- usually $10 or $15. It's
- best to call, write, or email first to find out what the
- turnaround time is likely to be. My mailing address:
-
- John Ackermann AG9V
- 2371 Stewart Road
- Xenia, OH 45385
-
-
- Gary Ford <ford@eecs.ucdavis.edu> has written a "Beginner's Guide
- to TCP/IP on the Amateur Packet Radio Network Using the KA9Q
- Internet Software" alternately titled "End User's Guide to TCP/IP".
- Version 2.0 of the guide documents the use of NOS 911229 (PA0GRI
- v2.0h) and BM v3.3.2. It is available on:
-
- ftp.eecs.ucdavis.edu:pub/ka9q
- or ucsd.edu:hamradio/packet/tcpip/docs
-
- nosbgnlp.zip unzips to a 66 page ascii "line printer" document,
- which can be printed with the UNIX lpr command.
-
- nosbgnps.zip unzips to a 54 page PostScript document, which can
- be printed on a PostScript printer.
-
- nosbgnpr.zip unzips to a 66 page ascii "print" document, which
- can be printed using the DOS print command. You
- will need to send control codes to your printer to
- control the page offset and you should turn
- perforation skip off. (not on ucsd.edu)
-
-
- Mailing lists
-
- rec.radio.amateur.packet (Usenet newsgroup)
-
- This is the place to ask beginner questions, such as
- "How can I use a baycom modem with NOS?"
-
- tcp-group@ucsd.edu
-
- This is a forum for NOS developers to discuss things they're doing.
- It is NOT the right place to ask beginner questions.
-
- Send mail to listserv@ucsd.edu with the word HELP as its only contents.
- It will send you instructions by return mail.
-
- nos-bbs@hydra.carleton.ca
-
- The purpose of this list is discussion of the ins and outs of running
- KA9Q NOS as something approximating a full-service BBS, which generally
- boils down to discussion of the care and feeding of the JNOS version of
- NOS, maintained by Johan, WG7J. Discussion of peripheral issues which are
- likely to be of interest to NOS BBS sysops, such as the convers server,
- NNTP, POP, etc, are also welcome.
-
- Submissions to the list go to:
- nos-bbs@hydra.carleton.ca
-
- Subscription/deletion requests and other administrivia to:
- nos-bbs-request@hydra.carleton.ca
-
- Note that the reply path for list mail is set to go to the list address,
- not the originator. That's by design - to encourage *public* discussion.
- If you want to send private mail to a nos-bbs contributor, please take
- care to get the address right!
-
- Operating systems and other machines
-
- NOS has been ported to several operating systems. Most development
- still happens under DOS. At some point, all the different platforms
- could have been built from a single set of sources. Since then,
- they have diverged enough that re-integrating the changes back into
- a common set of sources would take some effort.
-
- <bdale@col.hp.com> writes:
-
- When the list of targets was really small, in about 1988-9
- maybe, we had a single set of sources that built on various
- targets... the 890421.1 release supported DOS/Borland and a
- variety of Unix variants. I haven't paid much attention to
- this since then.
-
-
- OS/2
- Windows
- Macintosh
- Amiga
-
-
- Installation and setup tools
-
- An installation program for some versions of NOS is available.
-
-
- The NOS_KIT package explains well the several files used by NOS for
- configuration.
- It is a package for installation of the 901130 versions of KA9Q
- and G1EMM NOS (it includes executables for 901130 G1EMM and KA9Q).
- This "kit" is a reasonable place for a newcomer to get started.
-
- Written: Dave Fritsche (wb8zxu)
- E-mail: dlf@phx.mcd.mot.com
- Version: 910324
- Path: UCSD.EDU /hamradio/packet/tcpip/install/nos_kit.*
-
- Dave writes:
-
- The "kit" should be unpacked and placed onto floppy disks. It
- all fits on a single 720k or larger disk. This disk is then
- used as a NOS installation disk (the files can also just be
- stuffed into a subdirectory on a harddisk if you prefer -- but
- put them in a directory close to root (c:\) -- long pathnames
- screw things up). Once the installation disk is ready (I hand
- them out to locals), just put the disk in a drive, change to
- the drive (e.g: a:), then type "install". The user is
- presented with two screens of "fill in the blanks" kind of
- data. Just use the <Enter>, <Tab>, <SHFT><Tab>, <Up-arrow>,
- and <Down-arrow> to move between the entries. It's pretty
- self-explanatory. There are a couple of questions that
- weren't very clear, that should be cleaned up. But it's
- something to help get a person off on the right foot. After
- the blanks have been filled in, the installer goes off and
- makes all the needed subdirectories, creates an autoexec,
- ftpusers, domain.txt, . . ., and then unpacks the binaries and
- all the support files.
-
- The "kit_src.*" files, are the source code for the "install"
- program contained in the kit. Numerous people have recently
- asked me for the source code, so that they could update the
- installation kit for GRI/WG7J NOS. Sure hope they can pull it
- off! Wish I had the time to do it myself. Hopefully, Brian
- will get this source code moved into the "install" directory
- at some time in the near future. Generally speaking, endusers
- won't need or want these source archives.
-
- Versions
-
- The main NOS repository harbors a bewildering variety of NOS variants.
- All of them are derived in some way from some ancestor of the
- KA9Q version. The one that is best for you depends on what you
- want to use it for.
-
- One reason why there are so many versions of NOS is that it is
- used for widely different purposes by different groups.
- Each one needs it to solve a particular problem, or provide some
- service, so they implement whatever feature they need. There are
- many such groups throughout the world, and many of them have no
- regular contact with any of the others.
-
- Each NOS variant tends to reflect the cumulative efforts of a
- person or group, rather than a particular added feature. Some
- people modify more than one area -- for instance, they might add a
- new TCP server, and "enhance" the way datagrams are routed.
-
- The variants are usually known by the names of their authors,
- and they often have nicknames. Some of the more common ones are
-
- ka9q
- wg7j (jnos)
- pa0gri
- grinos based on PA0GRI, cleaned up by N1BEE
- pe1chl
- wnos
- hrlnos
- gpsnos Georgia Packet Switch, produced by GRAPES
- (Georgia Radio Amateur Packet Enthusiasts)
- gracilis
- wampes
- g1emm
- pmnos
-
-
- Most versions of NOS share a common core of commands.
-
- Most versions of NOS have all of the following facilities in them,
- but emphasize one over the others:
-
- packet switch
- services
- UI terminal
-
- For example, GPSNOS is optimized to be a standalone packet switch,
- and doesn't offer any other services. (This is what DOS NOS is
- really best at.) WNOS has a nice split-screen user interface, and
- PMNOS has an even more elaborate one.
-
-
- The features supported by NOS can be divided into categories this way:
-
- network NETROM, FlexNet
- user-interface split-window, fkey, command recall
- hardware special serial ports, network interfaces
- services callbook server, pop, smtp, convers, mailbox
-
- Here is a list of the features by category:
-
- Network
-
- TCPIP
- AX.25
- NETROM
- WAMPES AX.25 routing WNOS, WAMPES
-
- hardware
-
- asy standard PC serial port
- hs high-speed serial driver for 8530 (no DMA)
- scc generic 8530 driver
- DRSI
- EAGLE
- PI
- PACKTWIN
- dialer
-
- services
-
- ttylink (chat)
- mbox
- bbs
- convers
- pop
- smtp
- nntp
- ftp
- finger
- callbook gracilis
-
- user-interface
-
- split-screen (WNOS)
- scrolling, cut/paste, mouse (PMNOS)
- fkey
-
-
- ----------------------------------------------------------------------
-
-
- These versions have been optimized as packet switches:
-
- ka9q
- gpsnos
- pe1chl nos
- pa0gri
- gracilis
-
- These versions emphasize user-interface:
-
- hrlnos
- minihrl
- wnos
- pmnos
-
- These versions emphasize services:
-
- wg7j
-
- ----------------------------------------------------------------------
-
- Here are brief descriptions of some NOS variants. If your
- favorite one isn't here, or if you can describe it better, tell me!
- I'm particularly interested in documenting ancestry where possible.
-
-
- net Phil Karn <karn@qualcomm.com>
-
- The last pre-NOS version of NET... 890421.1
- documentation in userman.zip
-
-
- ka9q 21-Jun-92
- Phil Karn <karn@qualcomm.com>
-
- This is the base version from which the others are derived.
-
- [ I haven't tried this one yet. - mg ]
-
- Latest version on ucsd is 920621.
-
- wb8zxu:
- A lot of people consider 901130 the last "really good" working version of
- NOS. After that version, NOS got real fat, and fairly quirky. It also
- split about 5 different ways . . . PA0GRI, WG7J, PMNOS, WNOS, . . .
-
- wg7j 15-Dec-92
- Johan K. Reinalda WG7J <johan@ece.orst.edu>
-
- Also called JNOS.
-
- exchanges mail with W0RLI-style bbs systems
- split-screen ttylink sessions
- command recall (as of 1.07)
- converse
- ip and tcp access control
- accesses all dos drives (not just "root" one)
-
- This is one of the more actively developing versions.
-
- Based on KA9Q 911229 release, at least up to JNOS 1.07.
- Later versions will be based on KA9Q 920618.
-
- This is a service-oriented NOS. It acts as a "full-service" bbs.
- It can exchange mail with conventional amateur BBS systems,
- such as MSYS and W0RLI, as well as via SMTP and NNTP.
-
- This version is also widely used as a gateway between
- internet and amateur packet radio networks.
-
- This has a rewritten 8250 UART driver.
- [I've found it to be slower than the previous one -- see
- later -mg]
-
- Derived somehow from was0206, pa0gri, wnos.
-
-
- pa0gri 29-Dec-91
- Gerard van der Grinten, PA0GRI
-
- This is one of the more actively developing versions.
- This is used as the basis for other versions, including gracilis.
-
- nos_1229
- gri20m
-
- mods allowing accessing many disk drives by FTP server
- made for GRINOS 1.8b, draft version for 2.0l and (in
- nearest future) 2.0m available by anonymous FTP on
- zfja-gate.fuw.edu.pl (name GRI20L-1.ZIP). Jerzy Tarasiuk
- <jt@zfja-gate.fuw.edu.pl>
-
- N1BEE distributes a cleaned-up version of the GRI code;
- this cleaned up version is called GRINOS; it is distinct
- from pa0gri's version.
-
- grinos
- Mike Bilow N1BEE <MIKEBW@ids.net>
-
- The primary distribution point is ChowdaNet.
-
- (GRINOS is not a synonym for PA0GRI NOS.)
-
- This is a cleaned-up and packaged version based on the pa0gri.
- It is one of the more stable and solid end-user
- releases.
-
- Mike tries to make sure that his bug fixes are recycled
- into the main PA0GRI releases, so you only tend to run a
- version or two ahead on bug fixes with GRINOS.
-
-
- gracilis
- info@gracilis.com
- Don Lemley N4PCR
- Milt Heath
-
- There seem to be several "gracilis" versions. One is
- publically available on ucsd.edu. It seems to be
- derived from pa0gri.
-
- Gracilis has a special version of NOS that runs in their
- PackeTen -- it doesn't run on a PC.
- The Gracilis PackeTen is a standalone packet switch with a
- special communications processor (the Motorola 68302).
- This standalone version is derived from work described in a
- paper on NOSINABOX by Bdale Garbee, Don Lemley, and Milt Heath
- in the CNC proceedings.
-
- There are rumors that Gracilis has also substantially
- reworked NOS. This version doesn't seem to be publically
- available in source form, but they supply it with
- their PackeTwin (and PackeTen) modem/radio hardware.
-
- [Are the binaries available, and will they support other
- hardware devices?]
-
- There is a mailing list that discusses Gracilis products.
- To subscribe, send mail to
-
- listserv@knuth.mtsu.edu
-
- with an empty subject line and a message body (beginning in
- Column 1) with the command:
-
- SUBSCRIBE GRACILIS-L _your_address_here_
-
-
- Says bdale:
-
- NOS is integral, and doesn't look a whole lot like NOS
- internally any more. Don Lemley and Milt Heath at Gracilis
- acquired a commercial text-based window system with source,
- and heavily modified it to work in a mutli-task environment.
- They also found and have integrated an overlay manager to
- deal with the memory size problems. Don has spent
- considerable time finding and squashing memory leaks, and
- other problems in NOS. What they ended up with is a
- completely different user interface to a package that does
- all of what NOS does, and more.
-
-
- wnos 14-Jan-92
- Michael Bentrup (DB3FL)
- Mike Chace (G6DHU @ GB7IMB)
-
- ucsd.edu:/hamradio/packet/tcpip/wnos
-
- A very detailed set of manuals for WNOS3 and 4 is in the
- wnos directory on ucsd.edu.
-
- The author of this software Michael Bentrup (DB3FL). He
- is sadly not connected to the Internet. Mike Chace (G6DHU
- @ GB7IMB) produces a version of the software more suited
- to the UK environment where, for example, NET/ROM is
- required.
-
- WNOS was the first system to port two important features of the
- WAMPES Unix software namely the AX.25 autorouting front-end and
- the convers server. As far as I know, ALL flavours of NOS that
- support the convers server have used the WNOS code and therefore
- should be compatible.
-
- A unique feature of WNOS is the AX.25 autorouter.
-
- The WNOS front end allows a system to network at Level 2.
- The WAMPES AX.25 front-end stores paths to other AX.25
- systems and users may use these paths without reference to
- the full path. Each system along the path simply looks up
- the next hop, opens a connection at L2 and relays the
- frames. All this is transparent to any user, be they an
- ordinary L2 user or someone using L2 to push TCP/IP through
- a network. Example
-
- G6DHU -> G4WRW -> G7XXX -> G8YYY
-
- If G4WRW has a route to G8YYY (via G7XXX), G6DHU can use
- this route without reference to the full path. In other
- words, all G6DHU need do to open a connection to G8YYY is
- say
-
- connect G8YYY via G4WRW
-
- as soon as G4WRW sees the connect request, he will open a
- connection to G7YYY via G7XXX. Therefore, each link on the
- path is hop-to-hop acknowledged and the end users only need
- to know their nearest link in the path and the final
- destination in order to be routed through the system. Also,
- any traffic directed through your system in this way, will
- have the path information saved and therefore available for
- future use.
-
- WNOS is also unique in that it remembers (and saves to disk)
- ALL of the routing table information
-
- AX.25 paths (as discussed above)
- NET/ROM routing table
- ARP table
- IP routing table
-
- Therefore, with WNOS it is quite feasible to start with a
- system completely devoid of routing table information and
- then get to know all this information dynamically. Also, as
- paths etc change, tables are automatically saved and updated
- on disk. It is a neat system!
-
- WNOS was also the first version of NOS to support real time
- data compression using LZW coding. email (via SMTP), news
- articles (via NNTP) and convers interlink traffic may all be
- transferred in data compression mode. Data is compressed
- before sending and results in an average of 45-55% reduction
- in data transferred against plain-text transfer.
-
- Another item of interest is the NNTP system. WNOS contains
- everything that allows a user to deal with news articles.
- There is a news poster and a news reader. The NNTP
- filesystem is automatically updated, for example, if an
- article arrives for a newsgroup unknown to the local system.
- The news spool is updated immediately and the articles
- accepted. WNOS also contains a special server which allows
- AX.25 mail to be converted to an NNTP news article and
- cross-posted to a newsgroup.
-
-
- This is most suited as an end-user node, rather than as a
- network service provider -- that is, it's a better terminal
- than bbs.
-
- Has a split-window user interface.
- A status line at the top of the screen displays info
- about the current window, and indicates when there is new
- activity on other windows.
- (Each "window" is really a full screen. You can switch among
- screens, but they don't overlap.)
- There is an input area at the bottom of the screen.
- attribute command sets monitor type <color|mono>.
-
- Supports convers, though probably not compatible with JNOS.
-
- The 'w' in the name is for WAMPES, which is an AX.25 routing
- mechanism (used in FlexNet?).
-
- By the way, I had a quick look in WNOS docs and it seems WNOS
- is ONLY a packet switch, it supports neither SMTP nor BBS message
- commands.
-
- hrlnos 19-Mar-92
- by R. Kolb PA3EUG pa3eug@pi8hrl.ampr.org; PA3EUG @ ON4UBO;
- Derived from PA0GRI 16-Aug-91.
-
- Has a split-window user interface like WNOS.
-
- FlexNet: hop-to-hop-ack digipeating
-
- mbox log
- mem efficient
- mem thresh
-
- mode ipcam uses AX25 PID Text rather than IP.
-
- Does AX.25 autorouting.
-
- timers reworked. IP times are now dynamic.
- Saves arp cache to disk.
-
- minihrl is a smaller version of hrlnos.
- It has no netrom support, thereby gaining 80k of memory.
-
- gpsnos 11-Nov-91
- Based on KA9Q NOS 910420.
-
- Optimized as a packet switch by GRAPES, B. Nebergall, K4TQL.
-
- Adds netrom/ax25 switch optimizations, removes mailbox
- functions. Has a remote sysop facility with a good "public"
- password protection scheme. Supports up to 5 hardware
- ports, including 56K ports.
-
- pmnos
- Presentation manager NOS,
- Walt Corey KZ1F <kz1f@legent.com>
-
- The authoritative drop site for PMNOS is UCSD.EDU.
-
- The current beta version of PMNOS is PMNOS 1c: PMNOS1C.ZIP
-
- THIS IS STILL BETA! Please don't distribute this code
- without making sure that it is accompanied by:
-
- PMAIL.ZIP 9/18/92 -- 14:40:04
- pmreadme.1st 10/6/92 -- (update includes this
- message)
-
- Users should have access to nos_1229.man(lp) (GRINOS manual)
- and the readme files from JNOS 1.04... There is NO OTHER
- documentation YET....
-
- The "cleaned&cleared" release will be posted on UCSD.EDU and
- the source code will be integrated with JNOS.
-
- After Johan releases JNOS 1.05 (soon hopefully) a "current
- working" compile of PMNOS will appear at UCSD.EDU and
- at WG7J.AMPR.ORG.... The OS/2 and PM sources will be
- combined with the rest of JNOS and an OS/2 compile selected
- by #ifdef statements... IF everything goes well in the
- project. Currently, The IBM C set/2 compiler is the only
- compiler that has been used to build PMNOS. I have
- experimented with the GNU C/C++ compiler, but have had no
- luck so far (I am not a "real programmer"). Other compilers
- such as the forthcoming Borland, Zortech, and Watcom
- compilers for OS/2 should work in competent hands.... But
- these are still unknowns.
-
- WARNING-- if you have not programmed the PM environment,
- you had better go "larval stage" with the OS/2 'redbooks'
- (and other PMwindow specific DOCS!!) for a while before
- getting creative.... Stick to customized builds of the code
- for YOUR OWN PURPOSES. PLEASE don't distribute new compiles
- of this stuff!!! This ain't just DOS anymore!! The
- 'redbooks' can be downloaded from software.watson.ibm.com by
- anonymous FTP.
-
- Authoritative answers to questions on communication problems
- for OS/2 version 2.0 can be found on HOBBES.NMSU.EDU and
- SOFTWARE.WATSON.IBM.COM.
-
- Network driver support should be along later in the
- year: Planned are SCC, PI, and an NDIS 'shim'.
-
- The SCC and PI drivers will be loaded at IPL (in the
- config.sys schema) as:
-
- device=C:\OS2\SCC.SYS <parms similar to attach statement #1
- in autoexec.nos>
-
- The NDIS 'shim' will enable use of NDIS drivers in a manner
- similar to the NDIS_PKT packet driver set. You will have to
- scrounge up your own copy of the appropriate OS/2 NDIS driver,
- protman.sys, etc.....
-
- All of the above is subject to negation, reversal,
- alteration, etc., by Walt Corey.
-
-
- wampes 16-Sep-92
- Dieter DK5SG / N0PRA <deyke@fc.hp.com>
- ucsd.edu:/hamradio/packet/tcpip/wampes
-
- WAMPES is a Unix based system derived from KA9Q. It supports all
- the usual TCP, UDP and IP services and was the first to provide
- the convers system (like the Internet's IRC). It was written by
- Dieter Deyke (DK5SG) and ran exclusively on machines running the
- HP-UX Unix flavour. It has since been ported to ISC and SCO Unix
- running on PCs and within the last few monts it has been sucessfully
- ported to Linux, the free Unix for 3/486 PCs.
-
- It currently supports HP 9000 series 300, 400,
- 700, and 800 computers, running HP-UX 08.xx.
- It at least compiles on SunOS, but hasn't been thoroughly tested.
-
- Alan Cox <iiitac@pyramid.swansea.ac.uk>
-
- On the subject of wampes there is also a version for
- interactive unix and allegedly one for linux (tho I've
- not traced this).
-
-
- [How is this related to HRLNOS? ]
-
- k5jb
- Joe Buswell, K5JB, Midwest City OK
- Packet Address: k5jb@k5jb.ok.usa.na
- Amateur Radio IP Address: 44.78.0.2
- Internet: jbus@sabea-oc.af.mil
- CIS: 70305,1341
-
- This is a variant of ka9q (890421) that runs on SCO Unix.
-
- pe1chl 1-Jul-92
-
- Network
- netrom fixes
-
- "ftl0" and "broadcast" protocols/command sets for access
- to the microsats like AO-16 and UO-22
-
- can receive (but not transmit) the PACSAT broadcast
- protocol, which is sent by the PACSAT amateur satellites.
-
- UI changes
- fkey
- version
- screen
-
- services
- bbs forwarding scripts
-
- Costas SV1XV (ex G7AHN) <kkrallis@nrcps.ariadne-t.gr>
-
- Regarding MINIHRL, the author PA3EUG states it is HRLNOS without
- the NETROM code. I have been unable too to find the full HRL NOS
- code, it is not on UCSD.EDU or on any other well known site.
-
- PE1CHL is a release of NET.EXE with very limited user services
- very simple mailbox but it is reasonably well designed for ax25
- and also supports the "ftl0" and "broadcast" protocols/command sets
- for access to the microsats like AO-16 and UO-22.
-
- We might run it here in Athnes on SV1IW's station to
- create a TCP/IP sat gateway.
-
- Good docs on PE1CHL are files NETDOC1.ARC and NETDOC2.ARC
- in directroy /hamradio/packet/tcpip/pe1chl on ucsd.edu
-
- G0BSX mail server:
- ucsd.edu:/hamradio/packet/tcpip/g0bsx/server.tar.Z
-
- g1emm
- Kelvin Hill G1EMM <kelvin@cix.compulink.co.uk>
- ucsd.edu:/hamradio/packet/tcpip/g1emm
-
- This was once a very actively developed version, but doesn't
- seem to have grown much in the past year or two. It
- branched off into PA0GRI (and hence GRINOS).
-
- SV1XV, Costas <kkrallis@leon.nrcps.ariadne-t.gr> writes:
-
- Kelvin also distributes SMALLEMM.EXE (without
- AX.25/NETROM/KISS, which only supports SLIP and
- Ethernet interfaces) and is very small. I use it on my
- laptop Amstrad PPC-640D. He also distributes an
- example of a full G1EMM NOS installation in the file
- G1EMMKIT.ZIP.
-
- N8GNJ, Steve Stroh <strohs@strohpub.com> writes:
-
- I think that when Kelvin got out of NOS codesmithing,
- PA0GRI took his code and started the now popular
- PA0GRI variant of NOS. The G1EMM code is effectively
- obsolete, but it is probably maintained on several
- systems.
-
-
- unknown
-
- Alan Cox <iiitac@pyramid.swansea.ac.uk> writes:
-
- There will be a ka9q net with smtp links to the O/S, host
- mode login via ax25 and the ability to act like a netrom
- node for Linux very soon. I'm just finishing debugging it.
- If I get it finished I'll mail you if you want to stick it
- on the list.
-
- ----------------------------------------------------------------------
- NOS Internals
-
- There is not a whole lot of documentation on NOS internals.
-
- The socket interface used by the TCP clients and servers closely
- resembles the one found in BSD Unix.
-
- The tricky parts arise in dealing with the multi-tasking kernel.
-
- More details on the NOS internals may be found in the following files:
-
- [What internals documentation is there?]
-
- Source code organization
-
- The sources are distributed in a single flat directory.
- The names of the files do not have prefixes that would identify
- the part of NOS to which they belong.
-
- The modules are divided into groups. Each group of modules is
- placed in a library.
-
- Most variants of NOS are distributed in two or more packages.
- There are no guidelines for what to put in a distribution, or how
- to package them, so each NOS variant is distributed differently.
-
- NOS is generally packaged appropriately for the system that runs it.
- DOS versions of NOS are almost always packaged in zip files.
- Unix versions appear as compressed tar archives, and less
- frequently as zip files.
-
- One package typically contains an executable, and possibly some
- sample init files. Another package contains the documentation
- specific to that variant.
- Another package often contains the full set of sources that was
- used to build the executable.
-
- It might seem silly to distribute the entire set of sources even
- when only a couple of things have changed. It is not practical to
- distribute packages of only those modules that have changed,
- because there is no standard base version to serve as a reference.
- Even if there were, that reference version would itself be
- changing, so people would have to keep several copies of it on
- hand.
-
- ----------------------------------------------------------------------
- Running different NOS versions with the same configuration
-
- It is sometimes possible to use the same set of configuration
- files and tree of directories with several versions of NOS.
- Some versions are so different, however, that they will not be
- able to understand each other's config files. For instance, WNOS
- has trouble with the config files for JNOS. The mailbox help
- files (in spool/help) are often quite specific to a particular version.
-
- Even worse, the commands that a NOS understands depends on what
- features were turned on when it was compiled. If your config file
- contains commands to set up the NETROM interface, they will
- produce error messages if you run a NOS that was compiled without
- NETROM support turned on. There isn't really any way to fix this
- problem, and it isn't all that unreasonable.
-
- The following are some known inconsistencies that could be fixed
- by someone who has the time to do it. [Add to this list, please!
- Try to be as specific as possible. The less time someone has to
- spend fixing something, the more likely it will be fixed.]
-
- - The ftpusers file requires its fields to be separated by
- spaces in most versions of NOS. You can't use tabs.
- [This has been fixed in JNOS 1.07.]
-
- - The 'domain suffix' string must NOT have a leading period, but
- can (must?) have a trailing period. If you do it wrong, some
- versions will complain, but most will just quietly fail to work
- properly. I think it would be reasonable for the command to
- munge the string to look the way it should.
-
- - In most versions of NOS, the arguments to some commands in
- autoexec.nos MUST be separated from each other by SPACES. If
- you mix tabs and spaces, the command will be parsed incorrectly
- due to a bug in the parser.
- [This has been fixed in JNOS 1.07.]
-
- - There are minor variations in similar subcommands:
-
- ax25 retries
- vs. netrom retry
-
- I'd vote for the plural form myself, because the singular form
- might suggest that it is a boolean that controls whether a retry
- should happen, whereas it is actually an integer count.
-
- - The help strings that the commands print when given no arguments,
- as well as documentation, use "label" and "interface", "host",
- "address", and "destination" ambiguously. "address" could be
- an IP address, an AX.25 callsign, or an Ethernet address.
- "label" usually turns out to be the name of an interface.
-
- Ian Wade G3NRW has suggested the following conventions in his
- paper in the 10th (1991) ARRL CNC proceedings.
-
- <callsign> an AX.25 MYCALL callsign (e.g. G3NRW-5)
-
- <hostname> a host name in domain.txt
- (e.g. g3nrw or g3nrw.ampr.org.)
-
- <ipaddress> an internet address (e.g. 44.131.5.2)
-
- <host> <hostname> or <ipaddress>
-
- <username> a user at a computer (e.g. ian)
-
- <interface> a device interface name (e.g. ax0)
-
- <ioaddress> a device I/O base address (e.g., 0x3f8)
-
- <vector> an IRQ level (e.g. 4)
- [why not <irq> ? - mg]
-
- - Different commands do different things when invoked with no arguments.
- This in itself isn't so bad, except that you can't always tell
- whether doing so had an effect or not.
-
- Some commands print a help message when invoked with no arguments.
- Unfortunately, some simply print "needs at least one argument",
- instead of just telling what the choices are. (If you type just
- "ax25" it says that, if you type "ax25 ?" it shows you the
- subcommands.)
-
- Other commands that can take arguments display some status
- information when they are invoked with no arguments.
- Unfortunately, some of them don't appear to do anything -- you
- just get another prompt. This could happen if they would
- report some string and that string is empty, such as the
- "motd" command. Such commands should really print something
- like "<not set>", instead of appearing not to do anything.
-
- Moreover, if a command that could take arguments *does* do
- something when invoked with no arguments, it should say that
- it has done it. For instance, a command might set a variable
- a default value if invoked with the value omitted. (No
- commands that I know of do this; omitting a value causes them
- to print the current value.)
-
- Note that commands can't tell if they are being invoked from
- autoexec.nos or by someone typing interactively. This is
- probably why most of them aren't very verbose.
-
-
- ----------------------------------------------------------------------
- Packet drivers
-
- The packet drivers from Clarkson and others are used to allow
- NOS to interface to many pieces of hardware and software.
-
- NOS can be interfaced to the G8BPQ switch and to BAYCOM modesms.
-
- Why are there still compiled-in device drivers? Why aren't they
- implemented as packet drivers?
-
- William Allen Simpson <bill.simpson@um.cc.umich.edu> writes:
-
- Part of the reason is that packet drivers don't separate the
- encapsulation (link-layer) from the actual device (hardware-layer) very
- well. So, for example, when you have SLIP, PPP or NRS over two async
- ports, you would need to load all of the link-layer code twice.
-
- Also, a link-layer like PPP requires significant resources such as
- buffers and timers, which either need to be pre-allocated and managed
- for every device (wasting lots of CPU and memory), or managed under a
- single mechanism.
-
- BTW, Merit has built a PPP packet driver for NCSA Telnet. It's over
- 100K, instead of the 24K we have inside NOS.
-
- Therefore, I believe that KA9Q (Phil Karn) decided on this architecture
- to save CPU and memory. Remember, he started the program under CP/M!
-
- Now, there was some talk a year or two ago about a re-designed device
- driver mechanism to replace packet drivers. But there was also talk
- about going to NDIS drivers.
-
- Which shall we do?
-
- I can't seem to attach more that 3 packet drivers at once in NOS.
-
- Mike Bilow <mikebw@ids.net> writes:
-
- That's true, you cannot attach more than 3 packet drivers. This would
- have to be changed in the source code. In fact, someone should
- probably finally sit down and make it correctly configurable with a
- simple compile time #define somewhere.
-
-
-
- ----------------------------------------------------------------------
- Common problems
-
- Async interface loses characters
-
- If your machine can't field the interrupts from the serial port
- fast enough, it loses characters completely. One symptom is that
- datagrams get retransmitted frequently over a SLIP or PPP line.
- In some NOSes this causes the TCP connections to reset
- automatically after getting a few datagrams across. (TCP performs
- very poorly when the IP level datagrams are not delivered
- reliably, so it's best to just give up rather than waste
- bandwidth.)
-
- Another symptom is that garbled callsigns appear in the 'ax heard' list.
-
- One solution is simply to use a slower speed, like 4800 baud.
-
- A better solution is to replace the 8250 or 16450 UART with a 16550
- UART that has a built-in character FIFO. This chip can buffer up
- to 16 characters while the machine is busy doing other things, so
- it relaxes the demand for prompt service.
-
- I've found that the JNOS i8250.c driver is slower than the others.
- It loses characters badly on a 9600 baud telephone modem, whereas other
- versions can keep up with no character losses at all.
-
- Rumor has it that DesqView may also cause problems if you run NOS
- in window 1. Serial communications-intensive applications should
- ideally be run in window 2, as that one is actually optimized for
- serial comm.
-
-
- John Ackermann, AG9V, writes:
-
- I'm not sure why Johan's 8250 driver is slower -- I personally haven't
- noticed that -- but I do know that at least through his 1.04 release
- the 16550 fifo was <not> enabled; the code would detect the '550 but
- wouldn't do anything with it. In JNOS 1.05, the fifo size can be
- specified as an attach command parameter.
-
- Why do large amounts of core suddenly disappear? For instance, I
- started with 110K core, and FTP'ed a 1.5 Megabyte file off a LAN host
- (14K bytes/sec transfer). Core dropped to 30K. (using PA0GRI 2.0l)
-
- John Ackermann AG9V <John.Ackermann@DaytonOH.NCR.COM> writes:
-
- We found that the disappearing core was due in very large part to the
- number and size of Ibufs you've configured.
-
- What happens (I'm not a Real Programmer, so this may not be technically
- right on) is that when NOS needs another ibuf, it has to find a big
- enough unfragmented chunk in the heap to hold it. If it can't find a
- large enough piece of memory, it goes to the core to get one.
-
- When you have ethernet-sized ibufs, it's quite likely that there won't
- be an unfragmented chunk big enough, so core is going to go away
- quickly.
-
- When we ran 1600 byte Ibufs, even starting with 190k coreleft, we could
- only run for about three days max before core would disappear. We
- reduced the ibufsize to 448, which despite manual references to the
- contrary seems to be the minimum that works with an MTU of 256 and now
- we <never> see crashes resulting from loss of core (there are OTHER
- kinds of crashes, though...).
-
- So, sacrifice some performance on the ethernet by reducing your
- ethernet mtu, and your mss, to match what you'll really be running on
- the air. Then, set ibufsize to about that mtu plus 128.
-
- I haven't yet been able to determine whether the number of ibufs you
- set has any noticeable impact on this situation. That's one for the
- coders to answer.
-
- "Carl Makin" <makinc@hhcs.gov.au> writes:
-
- Just one note. The Ibufsize must be larger than your largest buffer
- size. (Not the same as but larger otherwise the SCC driver doesn't work
- properly.)
-
- So I assume you are running attach buffersizes just a little bigger or
- the same size as the mtu of the interface. ie 447 mtu for an ethernet
- port with a buffersize of 447.
-
-
- John Ackermann AG9V <John.Ackermann@DaytonOH.NCR.COM> writes:
-
- Actually, I've been running attach buffers much larger than ibufsize;
- never knew that was a requirement. And, it doesn't seem to affect
- things negatively. When I ran big ibufs, they were bigger than the
- attach buffers and <that's> when I had the memory leak problems.
-
- It would be nice for One Who Truly Knows to fully document these buffer
- issues... their tuning is critical, but there sure isn't much to go on.
- Witness the statement in the asystat command section of the reference
- manual (that's been there for ages) that the number of software
- high-water-mark hits tells you whether you need to adjust the buffer
- size, and then refers you to the attach command chapter for further
- details, of which there are none.
-
-
- Johan K. Reinalda, wg7j <johan@ece.orst.edu> writes:
-
- Asy attach buffer doesn't care what the ibuf size is; they are fifo
- type buffers used during the interrupts, from which the asy rx process
- reads characters into mbufs. An asy buffer is allocated (with ints on)
- during the attach command, and is there for the life of the interface.
-
- Scc, packet and pi interfaces use the interrupt buffer scheme very
- actively for receiving of packets. They allocate buffers at interrupt
- time, and the queue need.
-
- The size of the buffer is somewhat complex. It needs to be the largest of
-
- -the largest ax25 paclen + about 100 (ax.25 header, actually 72 bytes max)
-
- -the largest ip mtu (if in vc mode over ax.25) + 20 (ip header) + about 100
-
- -the ethernet mtu + safety margin :)
-
-
- I have some written up in the latest draft of the jnos40 DE manual, I
- will include that in the docs for 1.05.
-
-
- Why won't my PK-88 (and PCB-88) send/receive a packet larger than 1048 bytes?
-
- The AX.25 spec limits packets to 256 data bytes, but we'll ignore
- that.
-
- It's a built-in limitation of AEA's.
- Some Kiss implementations have even more severe limitations.
- The Kantronics ROMS (at least the earlier ones) won't allow 1024.
- You can try getting newer ROMS for your TNC from the manufacturer,
- but they can legitimately claim that they conform to AX.25
- (KISS doesn't really specify the max packet length; AX.25 does).
-
- The TNC2 TAPR ROMS do not seem to impose any limitation
- other than memory.
-
-
- Why do I see what look like lower-case o characters scattered
- throughout the output of various NOS commands, such as the output of the
- /who command in converse?
-
- The "lower-case o" characters are TABs (ascii 9). You need to use
- the ansi.sys DOS screen driver (or one of its variants), which can
- properly expand the TABs. Place 'device=c:\dos\ansi.sys'
- somewhere in your config.sys file (using the correct path, of
- course). A popular ansi.sys variant is nansi.sys, available
- in the directory ucsd.edu:/hamradio/packet/tcpip/nansi.
-
- ---------------------------------------------------------------------
- Compiling NOS
-
- What compiler do I need to use?
-
- Most versions of NOS were developed using Borland (Turbo) C.
- You'll have the best luck with Borland C++ V3.1.
- Earlier versions may work, but beware of invisible compiler glitches
- (see next section).
-
- Originally, Borland sold the compiler, assembler, debugger, and
- profiler as "Turbo C Professional". Later they split the package into
- pieces. Now the compiler is available for less than $100 as "Turbo
- C++". The compiler and all the tools is available as "Borland C++",
- currently V3.1, and costs more than $300. (For another $200, you can
- also get Borland's "Application Framework" for building Windows
- applications, but that isn't needed for NOS.)
-
- Compiler glitches
-
- Turbo C++ 1.0 cannot compile NOS, because the compiler is too buggy.
- (It compiles it, but the resulting executable doesn't work right.)
-
- I believe that Turbo C++ 2.0 will successfully compile it, but you
- need to apply to the compiler patches supplied by Borland.
-
- Borland C++ V3.1 seems to produce reliable NOS binaries.
-
- BC++ V3.0 will work too, but people have reported that it produces
- an executable that crashes after about a half-hour (JNOS 1.07).
-
- Mike Bilow, <mikebw@ids.net> writes:
-
- The BC++ 3.1 "-3" compiler switch is not safe with NOS. This appears
- to be limited to certain specific modules, primarily ALLOC.C, but I
- have never managed to encapsulate the problem sufficiently. What I
- think is happening is that the use of the "HUGE" keyword in some places
- causes a conflict with the "-3" switch. Compiling ALLOC.C to assembly
- source with the "-3" switch will show some very funny results, for
- example.
-
- On the other hand, the "-Z" compiler switch, which used to be unsafe,
- is now safe under BC++ 3.1. You win some, you lose some.
-
- You will find, I think, that Borland's "-O2" switch (optimize
- for speed) is generally not a good idea. I have found "-O1" to
- be stable as of BC++ 3.1, where it was not in prior versions.
- If you need faster code, you would be better off trying to force
- inlining of particular modules, especially inportb() and
- outportb(), which stand in the way of fast I/O if you have to
- put up with function call overhead on each use.
-
- Compiler warnings
-
- Most versions of NOS have code that the compiler considers questionable,
- so it will produce a few warning messages. Most of these are
- harmless, and are caused by functions not being declared properly.
- These warnings will probably be corrected later, but they don't
- cause real problems so they are not high on the authors' lists.
-
- If you only get warnings such as the following, don't worry.
- (These are from a compilation JNOS 1.07 with BCC 3.1.)
-
- Warning config.c 317: Suspicious pointer conversion
- Warning smtpserv.c 447: Function should return a value in function getmsgtxt
- Warning convers.c 911: Constant out of range in comparison in function
- channel_command
- Warning converse.c 1115: Constant out of range in comparison in function
- name_command
- Warning forward.c 466: Unreachable code in function makecl
- Warning tcpcmd.c 473: Suspicious pointer conversion in function doview
- Warning ipcmd.c 360: Suspicious pointer conversion in function doroute
- Warning arpcmd.c 342: Suspicious pointer conversion in function dumparp
- Warning arp.c 119: Condition is always false in function arp_input
- Warning arp.c 384: Possibly incorrect assignment in function arp_timeout
- Warning timer.c 61: Possibly incorrect assignment in function timerproc
- Warning alloc.c 405: Nonportable pointer comparison in function dofreelist
- Warning nrcmd.c 221: Suspicious pointer conversion in function doroutedump
- Warning nrcmd.c 328: Suspicious pointer conversion in function doallinfo
- Warning nr4.c 719: Suspicious pointer conversion in function nr4state
-
- What does 'linker fixup overflow' mean?
-
- Mike Bilow, <mikebw@ids.net> writes:
-
- >Fixup overflow at _TEXT:0092 , target=__MKNAME
- >c:\bc\lib\cl.lib in modeule FCLOSE.
-
- You need to force all of the MKNAME.C module to be in the _TEXT
- segment. This is explained in the voluminous comment I put into
- MKNAME.C. You need to make sure that MAKEFILE invokes the compiler
- with the -zC_TEXT switch when compiling that specific module.
-
- What is happening is that library routine fclose() is making a call to
- __MKNAME(), which is declared to be "near pascal." This means that the
- linker must be able to resolve an address for __MKNAME() within 64K; ts
- is a "linker fixup." If __MKNAME() is more than 64K away from the
- place in flclose() where it is trying to call __MKNAME(), that is a
- "linker fixup overflow."
-
- This is not, by the way, a problem that can be finessed. It must be
- fixed.
-
-
- What do I do when DGROUP exceeds 64K?
-
- The error happens because too many data objects (variables, strings, etc.)
- have been placed in the data segment, which is restricted to be only 64k
- bytes long.
-
- The easiest way to avoid this is to choose fewer options in config.h,
- so fewer data objects are defined.
-
- However, setting -Ff=511 or -Ff=255 in the makefile this will
- usually do the trick, too.
-
- Another way is suggested by Mike Bilow <mikebw@ids.net>:
-
- The DFAR kludge that I developed to finally fix the linker error about
- DGROUP exceeding 64K found its way into the distribution release of
- PA0GRI NOS as of v2.0l or so. Although it will work with Borland C++
- from version 2.0 or later (and this is correctly handled by a #define
- in GLOBAL.H), the compiler must be invoked with the "-Ff" switch from
- the MAKEFILE. (Variants with the threshold specified, such as
- "-Ff=511", will work fine.) I have not looked at Johan's [wg7j] source
- lately and I don't know if he included the DFAR kludge also, but it is
- generally more stable to use the DFAR kludge where the programmer picks
- what gets expelled into the far data segments rather than the Borland
- "-Ff-nnn" automatic far data threshold. In my experience, "-Ff=nnn"
- will work with only sufficiently large values for "nnn," and will fail
- if smaller than 255.
-
- In other words, it works better to tell the compiler to be on the
- lookout for far data conversion with the "-Ff" switch, but to manually
- specify what gets moved using the DFAR kludge. The "-Ff" switch with
- no value specified defaults to 32K, which doesn't move anything
- automatically. (Believe it or not, no one has yet put a static data
- object in NOS that is bigger than 32K.)
-
- Where can I get the pklite program that the NOS makefile uses?
-
- pklite is in ucsd:/hamradio/packet/tcpip/util/pklte105.zip,
- and many other places. It's a companion program to pkzip et al.
-
-
- Can NOS be made to use code overlays, so only the parts that are really in
- use reside in memory?
-
- Mike Bilow, <mikebw@ids.net> writes:
-
- Making NOS work with code overlays is a discussion that comes up from
- time to time. I spent a long time trying to get it to work, and all I
- ever had was a program that crashed almost instantly. The problem is
- that NOS changes the stack segment register on the fly, and the overlay
- manager has to know certain things about the stack in order to work.
- The general consensus is that overlays cannot be done, although I have
- never conceded that and can't provide a counterexample.
-
-
-
- ----------------------------------------------------------------------
- DesqView, windows
-
- Mike Bilow, <mikebw@ids.net> writes:
-
- You have some immediate problem when trying to port NOS to DesqView or
- Windows. First, Windows is somewhat unsuitable, since Windows apps
- expect to cooperatively multitask, and real-time performance is a thing
- requiring lots of kludges, even by Windows standards. There are direct
- solution for doing this kind of Windows programming, most obviously
- writing a custom VxD virtual device driver, but you may find that you
- have rewritten a good chunk of Unix by the time this works.
-
- DV is more suitable, but still leads to problems. It can be run on a
- very simple machine, although you don't gain much with DV until you have
- a 386 or better. At this point, you are probably looking at the whole
- difference between a good DV setup and a good OS/2 setup being 4 MB of RAM,
- about $120 at current U.S. street prices. I think DV is a really well done,
- even briliiant, product that fit a market niche that will soon disappear.
-
- Walt Corey [44.104.0.23] <kz1f@legent.com> writes:
-
- As I have mentioned before windows is not a multitasking system, it is
- cooperatively multitasking. This means that only one program can run at a
- time (period) That one program can give up control to Windows at selected /
- predetermined points, at that point Windows can give control to another
- app. That program in turn runs until it decides to give up control. If for
- some reason (error perhaps) it doesnt, nothing else (including windows)
- will run. If a program "hogs" control for say 1 sec, at 9600 baud thats abt
- 1k data lost, for 5 sec its about 4.5k lost. It essentially could be done
- but there would be a huge risk of data loss and each process would have to
- be a window, as in the "dispatchable" unit of execution under Windows.
- Under OS/2 (for instance) it is a task not a window and OS/2 is a pure
- multitasking operating system, the timer task can not be stopped by a bad
- app, neither can the asy devices or the keyboard etc etc.
-
-
- chrisc@london-pride.lmt.mn.org writes:
-
- There is another dos multitasker that would seem to fit the bill here
- it's Free, well documented, source available (also free), and has
- almost all the facilities needed built in. The program is called CTASK
- written by (I think) T. Wagner in Germany. I had considered a while
- back cutting the socket lib out of NOS and moving it to CTASK but the
- job looked a lot bigger that the time I had available.
-
-
- Why does NOS implement its own task-switcher, when there are
- several that exist and do a passable job?
-
- DOS NOS was done before DesqView was viable. Also, requiring that someone
- have DesqView in order to run NOS would have limited the number of people
- who could run NOS.
-
- ----------------------------------------------------------------------
- Questions
-
- [ This section should summarize the topics that arise
- perennially on tcp-group. ]
-
- How can I use NOS between computers over an RS232 wire link?
-
- NOS can use an asynchronous RS232 link by using a driver known as
- the async serial driver. Look for the documentation under
- the 'attach' command, using the 'asy' driver.
-
- The link protocol uses the async driver.
- Whereas the async driver will move the characters from one machine
- to another, the link protocol interprets them.
-
- Most versions of NOS support one of two link protocols.
-
- SLIP is the most commonly used serial port link protocol.
-
- PPP is an alternative. It is similar to SLIP, but permits the hosts
- to negotiate things like the interface's MTU automatically.
- If you don't know what that means, don't worry. You're probably
- better of using SLIP.
-
-
- Which of the RS232 signals are required on an async serial connection
- (i.e., the minimum required)?
-
- RXD, TXD, and ground (pins 2, 3, and 7) are the minimum required.
- If both ports expect to be connected to a modem (most PC serial
- ports do), you'll have to use a null modem to flip pins 2 and 3
- (also 4 and 5; see below) between the ports.
-
- Beware that there is no hardware flow control with only these
- three signals. Unless the link protocol does software flow
- control [I doubt that SLIP or PPP do], characters may be lost.
-
- If you also connect RTS and CTS (pins 4 and 5), NOS can use them
- for hardware flow control.
-
- Does the async serial driver in NOS/NET do any hardware handshaking for flow control?
-
- Yes. There is more than one implementation of the async serial driver,
- and each one handles handshaking differently. The most widespread
- one is the one found in KA9Q NOS. With it, you specify
- whether it should use RTS/CTS handshaking by putting a 'c' in the
- options word at the end of the attach command [before the IP address?].
-
- Another async driver, found in WG7J's JNOS [what others? GRI?],
- also supports RTS/CTS handshaking, but you don't have to specify
- that it should do so. It automatically detects whether the other
- side is using flow control, and acts appropriately.
- If you do specify a 'c' in the 'attach' command's options word,
- the driver will ignore it, so it doesn't hurt to leave it there.
- [ Then how can I tell it to initiate the handshaking? ]
-
- This async driver can also use the RLSD (also called DCD) signal
- for flow control.
-
-
-
-
- How do I use NOS as a router (gateway) between an Ethernet and an
- Amprnet via a TNC?
-
- Jack Spitznagel <jks@giskard.uthscsa.edu> writes:
-
- You may use any ethernet card that you have a Russ Nelson/Clarkson/FTP
- Inc. Packet driver for. I have used NE1000/2000, DEPCA, 3COM, and
- WD/SMC8003/8013. Drivers also exist for IBM Token Ring and Arcnet
- adapters.
-
- As in most TCP/IP implementations the "ifconfig <interface_name>"
- command allows one to assign independent (or the same) ip addresses for
- each interface. Gatewaying is supported by *either* doing an "arp ...
- publish" for the remote slip ip-address at the connected ethernet end,
- *or* using the "ifconfig encap" to encapsulate one subnet thru another
- ones ip address link. (this is the amprnet gateway system you have
- heard talked about.) My explanation presupposes you are familiar with
- most of the TCP/IP routing and addressing issues.
-
-
- My machine crashes when I run it as an ethernet <-> slip router.
-
- Try getting a newer version of NOS (especially the KA9Q version).
- Also try running with handshaking totally disabled at both ends.
-
- Why do I see garbled callsigns in the 'ax heard' list?
-
- This can happen because of errors in the received packet. Bad
- packets occasionally occur in any transmission medium, especially
- on a shared radio channel. If the sending stations TxDelay is too
- short, you may also see garbled packets. Not all bad packets will
- appear in the various error counts kept by NOS.
-
- Garbled packets may also result if your serial port loses characters;
- see the section on 'async interface loses characters' elsewhere in
- this file.
-
-
-
- How do I get a permanent IP address?
-
- Talk to the AMPRNET address coordinator for your area.
- A list of them is available in
- ucsd.edu:/hamradio/ampr_coordinators [?]
- The best way to find out, though, is to find other people nearby
- who are already running an AMPRNET host.
-
- How do I set up a machine as a mail gateway?
-
- [this needs work - there MUST be a better way to do all this!]
-
- Briefly, add a REWRITE RULE to spool\rewrite FOR EACH HOST ALIAS.
-
- The machine must have a mail host address, one for each mail network
- that you want it to connect. (A "mail network" is simply a bunch
- of machines that can, directly or indirectly, send mail to each other.)
- The machine considers itself to have only one real hostname,
- which is set (in AUTOEXEC.NOS) via the 'hostname' [?] command.
- We'll call the other names "hostname aliases".
-
- With NOS, you must take care that your gateway machine recognizes
- that the mail is destined for it, regardless of which of its host
- names (or aliases) the message was sent to.
-
- To begin with, the machine only recognizes mail addressed to its
- own IP hostname (the one that's set by the NOS 'hostname' [?]
- command). To make it recognize its other host names, you have
- to add a rewrite rule in the file spool\rewrite that turns that
- hostname alias into the real hostname.
-
- If you fail to make your machine recognize all its hostname
- aliases, then when a message arrives for one of its aliases, it
- will forward the message to some other machine (usually to its SMTP gateway).
- Some machine down the line will realize that the message is
- supposed to go to your host, and will send it back there, creating
- a loop. Eventually, some machine in the loop will notice that
- the message has been to the same hosts several times, and will
- (hopefully) return it to the sender.
-
-
- What is "the mailer"?
-
- NOS can act as a maildrop, collecting and storing messages
- addressed to you. There are several ways it can do this, such as
- SMTP and "conventional" amateur BBS mail forwarding
- protocols. Also, people to connect or telnet to your mailbox can
- issue mailbox commands to leave you mail. No matter how the mail
- gets there, it is stored in files in the spool/mail directory,
- where it stays until you do something with it.
- All messages addressed to a particular recipient are concatenated
- together in a single file.
-
- The mailer is a program, separate from NOS, that shows you the
- messages in a mail file. If you are running plain DOS, you have
- to exit NOS to run the mailer. (You can also use the 'shell'
- command to suspend NOS and get to a DOS command interpreter, but
- that takes a lot of memory to work.) Then you run the mailer
- program to read your messages. You can delete them, reply to
- them, forward them, and so forth. When you're done, it updates
- your mail file, and queues any messages that you asked it to send.
- NOS will try to send the messages the next time you run it.
-
- You can run the mailer while NOS is running if you're running a
- multitasker like DesqView or DoubleDos.
-
- You can choose which program to use as the mailer by setting
- the DOS environment variable MAILER in your AUTOEXEC.BAT, as in
-
- SET MAILER=VIEW.EXE
-
- Some of the mailers that are available are:
-
- BM The earliest mailer that was included with NET/NOS.
- Written by Bdale Garbee, N3EUA.
-
- ucsd:/hamradio/packet/tcpip/bm
-
- This was originally written as a quick-hack with style (or
- lack thereof) reminiscent of /bin/mail on most Un*x
- machines. The whole motivation behind BM was to have some
- way to test the SMTP client I had written for NET and the
- SMTP server Phil had written and I had hacked on. I still
- remember how much fun it was sending the first mail
- message from BM to the tcp-group list... :-) And the very
- serious discussion Phil and I had on the phone about
- whether it was OK to call it 'BM' in a time period when we
- were trying hard to be taken seriously by the packet
- community at large... but hey, if you can't laugh at
- yourself... :-)
-
- Dave Trulli NN2Z did a bunch of work on BM at one point,
- which is probably why it's still alive and in use.
-
- PCELM A replacement for BM, popular in Europe.
-
- VIEW ?
- ucsd:/hamradio/packet/tcpip/bm
-
- One small addition: The VIEW mailer is a full screen e-mail
- user interface with many features like undigestifying,
- queue manager, gateway specification etc.
-
- NNTP readers
-
- - I have not checked yet for newreaders specific to NOS,
- but the ones developed for PC-UUCP use should be usable.
-
- in /ibmpc/simtel20/msdos/uucp on doc.ic.ac.uk
- (probably also on SIMTEL20 and its mirrors, like nic.funet.fi)
- It might need some modification to cooperate
- flawlessly with NOS NNTP but this should be minor.
-
- - snews from John McCombs
-
-
- - ftp.demon.co.uk:/pub/trumphurst/cppnws16.zip
- Nikki Locke <nikki@trmphrst.demon.co.uk>
-
- Why does the 'shell' command just return without doing anything?
-
- This happens if there is not enough memory to run the DOS command
- interpreter as a child of NOS. Rather than printing a message
- informing you of this, NOS just prints another prompt!
-
- What is AMPRNET?
-
- AMPRNET is a network composed of amateur TCP/IP hosts whose names
- are in the .ampr.org domain, and whose addresses are assigned by
- the AMPRNET address coordinator (a person!).
-
- Although AMPRNET is technically a network, not all AMPRNET hosts
- can talk to one another. Many people have begun to use landline
- gateways to connect the disjoint pieces of AMPRNET.
-
- What is a gateway?
-
- A gateway is a host that joins one or more AMPRNET subnets to the
- rest of AMPRNET. Loosely, an AMPRNET subnet consists of the
- AMPRNET hosts in a particular area, say, a city.
-
- AMPRNET is a network composed of amateur TCP/IP hosts. In theory,
- any host on a network like AMPRNET should be able to send IP
- datagrams to any other host on the network. In practice, however,
- the network is fragmented into "subnets", which, loosely, is a set
- of machines that can talk to each other. (The term "subnet" has a
- more specific meaning in TCP/IP, where it refers to a set of
- machines that have a common prefix in their IP address. This
- simplifies routing; for more info, see the reference on gateways.)
-
- The hosts on a subnet may talk to each other via radio modems, TNCs,
- telephone modems, ethernet, wire lines, or just about any other
- way of moving bytes around. (NOS is one of the few packages
- available to amateurs that can support this diversity.)
- Each city or town tends to develop such a subnet, because everyone
- in the locality can hear one another on VHF radio, and the phone
- calls are local, or they're even in the same building.
-
- If each of the hosts in a locality has a coordinated AMPRNET
- domain name and IP address, then that subnet is technically part
- of AMPRNET. This means that other AMPRNET hosts on other subnets
- (i.e., other cities) could send packets to them, if only there
- were a way to get them between the two subnets. To do this, there
- must be at least one host that can talk to both of the subnets,
- through which hosts on either subnet can send their packets to the
- other side. Such a host is a gateway.
-
- In effect, a gateway turns the subnets into a larger network,
- called an "internetwork", or "internet".
-
- What is an "Internet gateway"?
-
- An "Internet gateway", in AMPRNET, is a gateway that talks to
- other AMPRNET gateways by sending the packets over a landline
- network known as the Internet. The Internet (capital I) is a
- world-wide academic and commercial network.
-
- Therefore, any host potentially can be a gateway if it is
- connected to some subnet of AMPRNET and to the Internet. In
- order to become an operating is, gateway, the other gateways
- must be told what the gateway's addressand what AMPRNET subnets
- it knows how to send packets to.
-
- For more information on gateways, look in the following files
- that are available for FTP.
-
- minnie.cs.adfa.oz.au gateways.023 (number changes with version)
- ke9yq.ampr.org
-
- What's the difference between a gateway and a wormhole?
-
- Wormholes don't do routing; gateways do.
-
- A wormhole is just a two-way "data pipe", often a phone line, that
- can accept packets on one end, and spits them out at the other
- end. There is only one possible destination. It is like an AX.25
- digipeater, and in fact many wormholes are fashioned to look just
- like one. (Another way to look at it is as a band opening on HF.)
-
- A wormhole doesn't know or care what is in the packets; in
- particular, it doesn't do any routing. To use a wormhole, you
- have to know where its input port is so you can send your packets
- through it (as if it were a digipeater), and what stations are at
- the other end, so you can address packets to them.
-
- Gateways are more interesting than wormholes, because they can
- route packets sent into them to one of many different
- destinations, perhaps routing through other gateways on the way.
- Gateways form a true network, in the sense that you can just
- inject a packet into it, and it will figure out how to get it to
- its destination (if possible).
-
- Because they do routing, gateways have to know something about the
- packets you send through them, so they can figure out where to
- send it. That is, you have to use a particular protocol that the
- gateway understands.
-
-
- What parameters should I use for the netrom interface?
-
- The netrom interface allows you to send IP datagrams through a
- netrom network. It also makes your NOS station look like just
- another netrom node to the others.
-
- However, many people have found that using the netrom code makes
- NOS crash frequently, usually just after a netrom stream has been
- closed, especially when the connection was made by a user in the
- mailbox. It's best not to use the netrom code unless there is
- absolutely no other way you can get to other IP stations.
-
- Some people use NOS as an alternative implementation of the netrom
- protocol to build netrom node stacks. This usage belongs more to
- the realm of netrom wizardry than to NOS, so we won't discuss it
- here.
-
- If you're brave enough to use the netrom interface anyway, use
- these parameters as an example:
-
- netrom nodetimer 1800
- netrom obsotimer 1800
- netrom minquality 144
- netrom interface axip_place 230
- netrom interface diode_matrix 230 # direct rs232
- netrom interface back_bone 203 # just *two* radios talking
- netrom interface user_port 192 # lots of radios
-
- netrom ttl 24
-
- Since the timers will affect both the RF port and the encap ports I would
- suggest you set it to the same value that is used locally on the air.
-
- When somebody sends an AX.25 packet to my NOS system through a
- digipeater, my NOS insists on sending it back through the digipeater
- even though the direct path really works. How can I force it to use the
- direct path?
-
- Carl Makin <makinc@HHCS.GOV.AU> writes:
-
- Define the route manually:
-
- ax25 route add <call>
-
- It's then defined as a local route and should be used in preference to
- an "auto" route.
-
-
- ----------------------------------------------------------------------
- Wishes
-
- Costas, SV1XV, <kkrallis@leon.nrcps.ariadne-t.gr> writes:
-
- As my job forces me to run SCO Unix Sys V on my main
- machine, I would like to find a STREAMS/socket driver to add
- ax.25 and KISS to the existing SCO TCP/IP services, but it
- seems nobody has written one yet.
-
- ----------------------------------------------------------------------
-
- Glossary
-
- NET
- NETROM
- NOS
-
- RSPF
- ucsd.edu:/hamradio/packet/tcpip/docs/rspf.doc
- ucsd.edu:/hamradio/packet/tcpip/incoming/rspf22p.txt
-
- RIP
- TCP
- IP
- Internet
- internet
-
- ----------------------------------------------------------------------
- Bibliography
-
- ARRL Computer Networking Conference Proceedings
- Available from ARRL HQ, Newington CT.
- Send mail to info@arrl.org for an automatic response pointing at
- more information about the ARRL.
- Some of these papers are available online in the directory
- ucsd.edu:/hamradio/packet/tcpip/docs.
-
- This list is not exhaustive; there are many other interesting
- articles, but these are the ones most relevant to NOS and TCP/IP.
-
- NOS Overviews and Documentation
-
- NOS Command Set Reference
- Ian Wade G3NRW 10th (1991)
-
- NOSVIEW: The On-Line Documentation Package for NOS
- Ian Wade G3NRW 11th (1992)
-
- The KA9Q Internet (TCP/IP) Package: A Progress Report
- Phil Karn KA9Q 6th (1987)
-
- Amateur TCP/IP: An Update
- Phil Karn KA9Q 7th (1988)
-
- Amateur TCP/IP in 1989
- Phil Karn KA9Q 8th (1989)
-
- Services and Protocols
-
- The Design of a Mail System for the KA9Q Internet protocol
- Bdale Garbee, N3EUA 6th (1987)
- Gerard van der Grinten, PA0GRI
-
- Finger - A User Information Lookup Service
- Michael T. Horne, KA7AXD 7th (1988)
-
- Callsign Server for the KA9Q Internet Protocol Package
- Doug Thom, N6OYU 8th (1989)
- Dewayne Hendricks, WA8DZP
-
- The Network News Transfer Protocol and its Use in Packet Radio
- Anders Klemets, SM0RGV 9th (1990)
-
- A Routing Agent for TCP/IP: RFC 1058 Implemented for the KA9Q
- Internet Protocol Package 7th (1988)
- Albert G. Broscius, N3FCT
-
- Thoughts on the Issues of Address Resolution and Routing in
- Amateur Packet Radio TCP/IP Networks
- Bdale Garbee, N3EUA 6th (1987)
-
- Another Look at Authentication
- Phil Karn KA9Q 6th (1987)
-
- LZW Compression of Interactive Network Traffic
- Anders Klemets, SM0RGV 10th (1991)
-
- PACSAT Protocol Suite -- An Overview
- Harold Price, NK6K 9th (1990)
- Jeff Ward, G0/K8KA
-
- BULLPRO -- A Simple Bulletin Distribution Protocol
- Tom Clark, W3IWI 9th (1990)
-
- Macintosh
-
- KA9Q Internet Protocol Package on the Apple Macintosh
- Dewayne Hendricks, WA8DZP 8th (1989)
- Doug Thom, N6OYU
-
- Status Report on the KA9Q Internet Protocol Package for the
- Apple Macintosh
- Dewayne Hendricks, WA8DZP 9th (1990)
- Doug Thom, N6OYU
-
- Higher Speed Amateur Packet Radio using the Apple Macintosh
- Computer
- Doug Yuill, VE3OCU 10th (1991)
-
- Network design
-
- The Implications of High-Speed RF Networking
- Mike Chepponis, K3MC 8th (1989)
- Glenn Elmore, N6GN
- Bdale Garbee, N3EUA
- Phil Karn, KA9Q
- Kevin Rowett, N6RCE
-
- Design of a Next-Generation Packet Network
- Bdale Garbee, N3EUA 8th (1989)
-
- More and Faster Bits: A Look at Packet Radio's Future
- Bdale Garbee, N3EUA 7th (1988)
-
- Physical Layer Considerations in Building a High Speed Amateur
- Radio Network
- Glenn Elmore, N6GN 9th (1990)
-
- Spectral Efficiency Considerations for Packet Radio
- Phil Karn, KA9Q 10th (1991)
-
- This should be considered to be required reading.
-
- MACA - A New Channel Acess Method for Packet Radio
- Phil Karn, KA9Q 9th (1990)
-
- A Duplex Packet Radio Repeater Approach to Layer One
- Efficiency
- Robert Finch, N6CXB 6th (1987)
- Scott Avent, N6BGW
-
- A Duplex Packet Radio Repeater Approach to Layer One
- Efficiency, Part Two
- Scott Avent, N6BGW 7th (1988)
- Robert Finch, N6CXB
-
-
- Network Implementation
-
- Packet Radio at 19.2 kB -- A Progress Report
- John Ackermann, AG9V 11th (1992)
-
- Implementation of a 1Mbps Packet Data Link
- Glenn Elmore, N6GN 8th (1989)
- Kevin Rowett, N6RCE
-
- Hubmaster: Cluster-Based Access to High-Speed Netowrks
- Glenn Elmore, N6GN 9th (1990)
- Kevin Rowett, N6RCE
- Ed Satterthwaite, N6PLO
-
- Recent Hubmaster Networking Progress in Northern California
- Glenn Elmore, N6GN 9th (1990)
- Kevin Rowett, N6RCE
-
- The 56 kb/s Modem as a Network Building Block: Some Design
- Considerations
- Barry McLarnon, VE3JF 10th (1991)
-
-
- Digital Networking with the WA4DSY Modem - Adjacent Channel
- and Co-Channel Frequency Reuse Considerations
- Ian McEachern, VE3PFH 10th (1991)
-
- A Full-Duplex 56kb/s CSMA/CD Packet Radio Repeater System
- Mike Chepponis, K3MC 10th (1991)
- Lars Karlsson, AA6IW
-
- A High Performance, Collision-Free Packet Radio Network
- Phil Karn KA9Q 6th (1987)
-
- Adaptation of the KA9Q TCP/IP Package for Standalone Packet
- Switch Operation
- Bdale Garbee, N3EUA 9th (1990)
- Don Lemley, N4PCR
- Milt Heath
-
- Hardware
-
- The KISS TNC: A Simple Host-to-TNC Communications Protocol
- Mike Chepponis, K3MC 6th (1987)
- Phil Karn, KA9Q
-
- The Ottawa Packet Interface (PI) A Syncrhonous Serial PC
- Interface for Medium Speed Packet Radio
- Dave Perry, VE3IFB 10th (1991)
-
- HAPN-2: A Digital Multi-Mode Controller fo the IBM PC
- John Vanden Berg, VE3DVV 11th (1992)
-
- The PackeTen system - The Next Generation Packet Switch
- Don Lemley, N4PCR 9th (1990)
- Milt Heath
-
- ----------------------------------------------------------------------
-